const path = require("path");
const config = {
    projectName: 'SlimmingLog',
    date: '2021-2-24',
    designWidth: 750,
    deviceRatio: {
        640: 2.34 / 2,
        750: 1,
        828: 1.81 / 2
    },
    sourceRoot: 'src',
    outputRoot: 'dist',
    less: {
        resource: path.resolve(__dirname, '..', 'src/less/var.less')
    },
    plugins: [
        "taro-plugin-tailwind",
        '@tarojs/plugin-sass',
    ],
    alias: {
        '@/components': path.resolve(__dirname, '..', 'src/components'),
        '@/utils': path.resolve(__dirname, '..', 'src/utils'),
        '@/store': path.resolve(__dirname, '..', 'src/store'),
        '@/img': path.resolve(__dirname, '..', 'src/img'),
        '@/less': path.resolve(__dirname, '..', 'src/less'),
        '@cloud': path.resolve(__dirname, '..', 'src/cloudfunctions'),
    },
    defineConstants: {},
    copy: {
        patterns: [{
            from: "src/cloudfunctions/",
            to: "dist/cloudfunctions/"
        }],
        options: {}
    },
    framework: 'react',
    mini: {
        postcss: {
            pxtransform: {
                enable: true,
                config: {

                }
            },
            url: {
                enable: true,
                config: {
                    limit: 1024 // 设定转换尺寸上限
                }
            },
            cssModules: {
                enable: false, // 默认为 false，如需使用 css modules 功能，则设为 true
                config: {
                    namingPattern: 'module', // 转换模式，取值为 global/module
                    generateScopedName: '[name]__[local]___[hash:base64:5]'
                }
            }
        },
        webpackChain(chain, webpack) {
            chain.merge({
                module: {
                    rule: {
                        myloader: {
                            test: "\.less",
                            use: [{
                                loader: "style-resources-loader",
                                options: {
                                    patterns: [ // 只有一条时也可以写成对象形式
                                        path.resolve(__dirname, '../src/less/var.less'),
                                    ],
                                }
                            }]
                        }
                    }
                }
            })

        },
    },
    h5: {
        esnextModules: ['taro-ui'],
        publicPath: '/',
        staticDirectory: 'static',
        postcss: {
            autoprefixer: {
                enable: true,
                config: {}
            },
            cssModules: {
                enable: false, // 默认为 false，如需使用 css modules 功能，则设为 true
                config: {
                    namingPattern: 'module', // 转换模式，取值为 global/module
                    generateScopedName: '[name]__[local]___[hash:base64:5]'
                }
            }
        }
    }
}

module.exports = function(merge) {
    if (process.env.NODE_ENV === 'development') {
        return merge({}, config, require('./dev'))
    }
    return merge({}, config, require('./prod'))
}